1. Field of the Invention
This invention relates to resetting microcontroller stations and more particularly relates to resetting and bypassing microcontroller stations.
2. Description of the Related Art
Microcontroller- and microprocessor-based devices are often used to perform control functions. For example, microcontroller-based devices may be used to gather environmental data, control environmental functions, control power supplies, manage machinery, and the like.
Microcontroller-based devices typically execute one or more firmware programs. A firmware program may be custom designed for a specific application. The firmware program is then downloaded to a microcontroller-based device and executed.
The microcontroller-based device may be managed by a host. The host may be a computer, a controller, and the like. The host may control a plurality of microcontroller-based devices. As used herein microcontroller-based devices are referred to as stations. Using a host to control a plurality of stations greatly simplifies the tasks of managing the stations.
It is often economical for a host to control a plurality of stations using a serial link. For example, the host may communicate through the serial link with the first station. The first station may communicate with a second station, and a second station with a third station. The host may communicate with the third station through the first and second station. For example, the host may communicate a firmware download to the first station. The first station may communicate the firmware download to the second station, and the second station may communicate a firmware download to the third station.
A microcontroller or microprocessor typically both manages the functions of the station and manages communications with upstream and downstream devices. Unfortunately, if the microcontroller becomes hung due to a firmware bug, a station may be unable to communicate with an upstream device and receive a firmware update to correct the bug. Resetting the microcontroller may be ineffective as the microcontroller quickly hangs after reset. As a result, an administrator may need to manually reload microcode.